#pragma once
#include <vector>
#include "Die.h"
#include "../lib3dw/Animation.h"

using namespace lib3dw;

namespace Dicewars
{
	class GameTurnResult
	{
		public:
			GameTurnResult();
			~GameTurnResult();
			void AddToScene(Die* dieToAdd);
			void RemoveFromScene(Die* dieToRemove);
			void AddToAnimationQue(Animation* objectToAnimate);
			const std::list<Animation*> GetAnimationQue() const;
			const std::vector<Die*> GetDiceToRemove() const;
			void ClearDiceToRemove();
	
		private:
			std::vector<Die*> diceToAdd;
			std::vector<Die*>::const_iterator diceToAddIterator;
			std::vector<Die*> diceToRemove;
			std::vector<Die*>::const_iterator diceToRemoveIterator;
			std::list<Animation*> objectsToAnimate;
			std::list<Animation*>::const_iterator objectsToAnimateIterator;
	};
}